Within the field of computing, diagnostic tools exist that enable a user thereof to identify problems that may be present in the software and/or hardware of a computer or network of computers. One non-limiting example of a diagnostic tool is a debugger. A debugger refers to a computer program that can be used to identify and correct problems or defects (i.e., “bugs”) that may exist in another computer program (sometimes referred to as the “target program” or “debuggee”). A developer may use a debugger to execute a target program in a controlled fashion so that the developer can acquire knowledge about the target program as it executes. For example, the developer may utilize breakpoints or some other means provided by the debugger to pause the execution of the target program during controlled execution thereof. During the interruption, the developer may inspect the state of the target program to determine whether the target program is functioning as expected.
Some conventional debuggers offer a feature known as an expression evaluator. A developer can use an expression evaluator to determine the value of a particular expression based on a current state of a target program at one or more points during execution of the target program.